Arduino Based Temperature Controlled Fan

The project “Arduino Based Temperature Controlled Fan” is extended version of previous post “Temperature Controlled Fan using Arduino”. Speed of fan depends upon the temperature it detect. This project has various features like:

Features of Arduino Based Temperature Controlled Fan

  1. Automatic fan speed control according to temperature.
  2. Temperature and speed are displayed over LCD.
  3. Control Circuit and Load circuit is isolated using opto-isolator 4N35 i.e. more protection.
  4. High Power drive circuit i.e. can drive high power high voltage DC fan.
  5. Maximum temperature indication using glowing LED.

Circuit Description of Arduino Based Temperature Controlled Fan

The circuit shown in figure 1 is designed arduino NANO, LM35 temperature sensor, opto-coupler 4N35, IGBT FGA25N120 and few other electronics components as shown in figure below. For proper description we had divided the complete circuit into various small section.

Arduino Based Temperature Controlled Fan

Arduino and LM35 Interfacing

LM35 is a temperature sensor which sense temperature and generate voltage according to temperature According to datasheet of LM35 it produces 10mV per degree change in temperature. Arduino read this value using its internal analog to digital converter (ADC). Arduino have inbuilt 10-bit ADC i.e. 1024 steps. By default, arduino can map 5V input voltage into 1024 steps. Therefore, the resolution of arduino is 5/1024 = 4.88×10-3V = 4.88mV. By default, Arduino can detect 4.88mV change. From datasheet of LM35, 10mV change in per degree Celsius. So, if we use default arduino reference then it give accuracy of about 0.50C.

Arduino and LCD Interfacing

LCD is connected to arduino in higher order data mode i.e. only higher order data pin D4 to D7 of LCD is connected to arduino nano for data displaying. Enable and Set/Reset pin is connected to arduino as shown in circuit diagram. Pin 1, Pin 5 and pin 16 of arduino is connected to ground where Pin 2 is connected to power supply. Pin 15 of LCD (LED+) is connected to +5V through a current limiting resistor. At Pin 3 of LCD we have to supply voltage between Vcc and Vss, so a variable resistor is connected as shown in circuit diagram.

Check out the video on “Tutorial on Interfacing 16×2 LCD to Arduino”.

Switching Circuit

In previous project “Temperature Controlled Fan using Arduino” we had used a transistor in order to drive DC fan. As there are some limitation of using transistor like low output current, low output voltage etc. In order to overcome this problem, we are using IGBT (Isolated Gate Bipolar Transistor). According to data sheet it can handle 600V @ 25A which is huge.

Arduino alone cannot drive the IGBT because it requires more voltage then the arduino output voltage. So, in order drive the IGBT an opto-coupler 4N35 is used. This opto-isolator also isolate control circuit and load circuit. PWM output of arduino drive opto-isolator 4N35 which further drive IGBT.

Checkout the previous article “Interfacing Optocoupler with Arduino”.

Gate of IGBT is connected to pin 4 of opto-coupler. One resistor is connected between gate of TGBT and ground of power supply in order to avoid false triggering. DC fan is connected between power supply and collector of IGBT as shown in circuit diagram. One fly back diode is connected across DC fan in order protect the circuit from transient volt produced in inductor. Power supply is used according to power rating of DC fan.

Arduino Based Temperature Controlled Fan author prototype

Figure: Author Prototype Arduino Based Temperature Controlled Fan

Working of the Circuit Arduino Based Temperature Controlled Fan

Temperature sensor detect the temperature and generate voltage according to temperature it senses. Arduino nano compare output voltage of temperature sensor and operate the fan. As we are using PWM pin, the speed of fan is variable according to temperature. According to the software code fan start to rotate at 300C and at 600C speed of fan become 100%. LCD shows the value of temperature and fan speed. LED1 indicate the temperature status i.e. glowing LED indicate temperature is maximum.

Software Code:

Software code of Arduino Based Temperature Controlled Fan is written in arduino programming language and compiled using arduino IDE. Program is simple and straight forward, it basically check the temperature and compare between two temperature range (250C to 600C). Speed of fan depends upon temperature which we map between 32 and 255 and fan speed is display which is map between 0 to 100 as shown in below.

Now, let’s see the complete code

 

Leave a Comment